1. Field of the Invention
The present invention is generally related to dynamic network systems and, in particular, to a system and methods of enabling server alerted synchronization and related data synchronization schemes to operate subject to arbitrary dynamic network addressing changes.
2. Description of the Related Art
The deployment and use of mobile, characteristically wireless, client devices is widespread, growing, and likely to continue to grow at an accelerating pace. Even while the fundamental nature and capabilities of the client devices continue to evolve, substantial investments are being made by network operators to define, install and operate extended wide area communications networks. Given the varied technological, commercial and even geographical interests involved, the network operators and related service providers must contend with a large number of different, and often conflicting, interoperability standards in determining how best to implement specific networks and provide corresponding services. In almost all instances, universal interoperability between different networks, including among the various client and base devices designed for and serviced by the different networks, is precluded. Instead, actual interoperability is achieved functionally through conformance with selected, well-defined standards typically as developed by industry oriented and supported associations.
The Open Mobile Alliance (OMA; www.openmobilealliance.org) is responsible for creating a number of interrelated technology standards intended to facilitate broad, if not global user adoption of mobile data services by specifying market driven mobile service enablers that ensure service interoperability across devices, geographies, service providers, operators, and networks, while allowing businesses to compete through innovation and differentiation. An example is the OMA SyncML Device Management and Data Sync standards described in the current standard proposal documents OMA-TS-DM-Protocol-V1—2-20050826-C and OMA-SyncML-DataSyncProtocol-V1—2-200400601-C. While popularized as the SyncML Protocol, the standards are more formally referred to as implementing the OMA DM and DS protocols. The OMA DM (device management) protocol provides the core mechanisms for over-the-air (OTA) provisioning and configuring of mobile devices, while the OMA DS (data synchronization) protocol describes the basic transactions required for device data synchronization.
Mobile devices are evolving from simple user interface systems to computing platforms capable of supporting a diversity of application programs. The distributed and variably disconnected nature of mobile devices, however, typically requires applications to support a combination of local and remote application specific data storage. These applications must further support synchronization of the client local application data, subject to potential disconnected modification, with remote stored data, typically through a network connected data server. The OMA DS protocol describes a standards-based protocol intended to enable client applications resident on mobile devices to interact and synchronize application data with remote server data systems. The desired user experience is, of course, that any required data synchronization occur transparently and without apparent delay.
The OMA DS protocol proposes a coordinated transport system for messages and responses to establish a transaction session for data synchronization between a mobile device and a synchronization server, typically referred to as a SyncML server. The transport medium is not specified, allowing for different implementations to accommodate different network systems and service offerings. The data difference resolution algorithms used to identify the data exchanges necessary to effect synchronization are also not specified. Different application and service providers are therefore able to implement synchronization algorithms that are the most appropriate for the particular services and applications they support.
The OMA DS protocol implicitly supports both client initiated and server initiated synchronization transactions. For simplicity, application data synchronization is driven by the client application. Server initiated synchronization is achieved by forwarding a synchronization request message from the server to the client to prompt the client application to perform synchronization. A particular limitation of the OMA DS protocol is that the specification does not define the detailed protocol for communicating server alerted synchronization messages to the mobile devices. Rather, the specification specifies that the synchronization server must be able to address messages to particular mobile devices as necessary to perform server alerted synchronization. The specification further defines the form and content of the server alerted synchronization message that must be sent by a SyncML server to trigger a specifically identified mobile device into performing a synchronization transaction. Server alerted synchronization is, of course, highly desired to minimize any apparent delay in presenting updated application specific data to a mobile device user and maintaining the integrity of the information available to other users of the SyncML server.
Conventionally, a network address, most typically an Internet Protocol (IP) address, is used to identify a mobile device in synchronization transactions. For mobile devices capable of being assigned a network address, which includes essentially all current mobile devices capable of data synchronization, a network address is dynamically assigned whenever the mobile device connects to the network. The network address is also dynamically reassigned, with no guarantee of consistency in the value of the IP address provided, whenever the mobile device reconnects with the network, however a particular network operator may define a reconnection. The network operator may also reassign the network address based on criteria exclusively in the control and discretion of the network operator. A mobile device therefore must be capable of operating under the assumption that the assigned network address will be changed arbitrarily without prior notice.
Since there is no specification defined way of providing a synchronization server with the network address of a mobile device, either within or in anticipation of a synchronization transaction, service providers and network operators have resorted to a number of alternative methods. One such method requires proprietary integration of the synchronization servers with the network support servers that provide the network addresses. To illustrate, US Patent Publication 2001/0028636 describes a wireless application protocol (WAP) gateway system that manages the assignment of IP addresses to mobile devices on connection with the attached wireless network. The IP address assigned to a mobile device is recorded against the unique MSISDN identifier of a device in a database available only to servers implemented internal to the gateway system. While IP addresses are generated in a conventional manner, the assignment of IP addresses to mobile devices operating within the network operator network is performed using low-level, typically proprietary protocols. These IP addresses, as assigned, are recorded in a database embedded within the network operator server system.
For a number of reasons, most involving the desire to maintain a commercial advantage over the services provided to or accessible from the mobile devices and security concerns, the IP database internally maintained by the network operator is not publically accessible. Furthermore, network operator systems provide no public notice of IP address assignments, including reassignments, to the network operator managed mobile devices or other third party systems. Without the ability to reliably contact and interact on demand with the mobile devices, which is dependent on a reliable knowledge of the network address of the mobile devices, third party synchronization servers are unable to provide commercially acceptable services. Consequently, only network servers implemented as an integral part of the network operator server systems are able to support data synchronization services. A further undesirable result is that client application data synchronization is limited to only those applications actually supported by the particular network operator and at a cost structure relatively unconstrained by direct competition.
An alternative approach frequently used to support conventional client applications requires the use WAP-push messaging to transfer synchronization notification messages. The use of WAP-push transport from a SyncML server to a mobile device to trigger a synchronization transaction is conformant with the OMA DS protocol specification. Due to the limited data capacity of short message service (SMS) packets, multiple SMS messages must typically be sent to convey a synchronization notification message. The mobile device then responds by creating the network connection with the SyncML server as necessary to conduct the synchronization transaction. The fundamental drawback of this approach is that the SMS messages must route through the network operator WAP gateway. Such messaging services are not free of direct monetary costs. Given the desired frequency of data synchronizations, even nominal use of client applications using server alerted synchronization becomes undesirably expensive.
The need for server alerted synchronization can be avoided, in limited circumstances, by having the mobile device either continuously maintain an active connection to the synchronization servers or periodically poll the servers for updates. Maintaining an active connection has the specific benefit of avoiding any noticeable delay in retrieving application data updates. Any reassignment of the network address will, however, result in the loss of the network connection. Therefore, these systems typically require integration with the network operator system. In any event, the cost, in terms of battery life and server resources, makes maintaining an active connection undesirable.
Having the mobile device poll the server at defined intervals reduces battery drain, as compared to maintaining a continuous connection, but can result in an significantly increased data synchronization latency. If the polling interval is reduced to compensate, then battery life is again compromised and the synchronization servers are required to support a significantly increased load due to the increased rate of network connection setup and tear-down.
Other transport systems for providing synchronization notification messages to mobile devices and of updating synchronization servers are not generally well known. Such systems are typically based on proprietary protocols and integration of server systems within a single provider network. Consequently, there is a need for an open system that allows client devices to update network addresses to synchronization servers interoperably within and across networks independent of the network operator and dedicated system providers.